Source:NetHack 3.0.0/youprop.h
Below is the full text to youprop.h from the source code of NetHack 3.0.0. To link to a particular line, write [[NetHack 3.0.0/youprop.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)youprop.h 3.0 89/06/24 2. /* NetHack may be freely redistributed. See license for details. */ 3. /* Copyright © 1989 Mike Threepoint */ 4. 5. #ifndef YOUPROP_H 6. #define YOUPROP_H 7. 8. #ifndef PROP_H 9. #include "prop.h" 10. #endif 11. #ifndef PERMONST_H 12. #include "permonst.h" 13. #endif 14. #ifndef MONDATA_H 15. #include "mondata.h" 16. #endif 17. #ifndef PM_H 18. #include "pm.h" 19. #endif 20. 21. #ifndef NAMED_ITEMS 22. # define defends(attk,uwep) 0 23. #endif 24. 25. /* two pseudo-properties */ 26. #define Blindfolded (ublindf) 27. #define Punished (uball) 28. 29. /* perhaps these #define's should also be generated by makedefs */ 30. #define HFire_resistance u.upropsFIRE_RES.p_flgs 31. #ifdef POLYSELF 32. #define Fire_resistance ((HFire_resistance) || resists_fire(uasmon) || defends(AD_FIRE,uwep)) 33. #else 34. #define Fire_resistance ((HFire_resistance) || defends(AD_FIRE,uwep)) 35. #endif 36. 37. #define HSleep_resistance u.upropsSLEEP_RES.p_flgs 38. #ifdef POLYSELF 39. #define Sleep_resistance ((HSleep_resistance) || resists_sleep(uasmon)) 40. #else 41. #define Sleep_resistance HSleep_resistance 42. #endif 43. 44. #define HCold_resistance u.upropsCOLD_RES.p_flgs 45. #ifdef POLYSELF 46. #define Cold_resistance ((HCold_resistance) || resists_cold(uasmon) || defends(AD_COLD,uwep)) 47. #else 48. #define Cold_resistance ((HCold_resistance) || defends(AD_COLD,uwep)) 49. #endif 50. 51. #define HDisint_resistance u.upropsDISINT_RES.p_flgs 52. #ifdef POLYSELF 53. #define Disint_resistance ((HDisint_resistance) || resists_disint(uasmon)) 54. #else 55. #define Disint_resistance HDisint_resistance 56. #endif 57. 58. #define HShock_resistance u.upropsSHOCK_RES.p_flgs 59. #ifdef POLYSELF 60. #define Shock_resistance ((HShock_resistance) || resists_elec(uasmon) || defends(AD_ELEC,uwep)) 61. #else 62. #define Shock_resistance ((HShock_resistance) || defends(AD_ELEC,uwep)) 63. #endif 64. 65. #define HPoison_resistance u.upropsPOISON_RES.p_flgs 66. #ifdef POLYSELF 67. #define Poison_resistance ((HPoison_resistance) || resists_poison(uasmon)) 68. #else 69. #define Poison_resistance (HPoison_resistance) 70. #endif 71. 72. #define Adornment u.upropsADORNED.p_flgs 73. 74. #define HRegeneration u.upropsREGENERATION.p_flgs 75. #ifdef POLYSELF 76. #define Regeneration ((HRegeneration) || regenerates(uasmon)) 77. #else 78. #define Regeneration (HRegeneration) 79. #endif 80. 81. #define Searching u.upropsSEARCHING.p_flgs 82. 83. #define HSee_invisible u.upropsSEE_INVIS.p_flgs 84. #ifdef POLYSELF 85. #define See_invisible ((HSee_invisible) || perceives(uasmon)) 86. #else 87. #define See_invisible (HSee_invisible) 88. #endif 89. 90. #define HInvis u.upropsINVIS.p_flgs 91. #ifdef POLYSELF 92. #define Invis ((HInvis) || u.usym S_STALKER) 93. #else 94. #define Invis (HInvis) 95. #endif 96. #define Invisible (Invis && !See_invisible) 97. 98. #define HTeleportation u.upropsTELEPORT.p_flgs 99. #ifdef POLYSELF 100. #define Teleportation ((HTeleportation) || can_teleport(uasmon)) 101. #else 102. #define Teleportation (HTeleportation) 103. #endif 104. 105. #define HTeleport_control u.upropsTELEPORT_CONTROL.p_flgs 106. #ifdef POLYSELF 107. #define Teleport_control ((HTeleport_control) || control_teleport(uasmon)) 108. #else 109. #define Teleport_control (HTeleport_control) 110. #endif 111. 112. #define Polymorph u.upropsPOLYMORPH.p_flgs 113. #define Polymorph_control u.upropsPOLYMORPH_CONTROL.p_flgs 114. 115. #define HLevitation u.upropsLEVITATION.p_flgs 116. #ifdef POLYSELF 117. #define Levitation ((HLevitation) || is_floater(uasmon)) 118. #else 119. #define Levitation (HLevitation) 120. #endif 121. 122. #define Stealth u.upropsSTEALTH.p_flgs 123. #define Aggravate_monster u.upropsAGGRAVATE_MONSTER.p_flgs 124. #define Conflict u.upropsCONFLICT.p_flgs 125. #define Protection u.upropsPROTECTION.p_flgs 126. #define Protection_from_shape_changers u.upropsPROT_FROM_SHAPE_CHANGERS.p_flgs 127. #define Warning u.upropsWARNING.p_flgs 128. 129. #define HTelepat u.upropsTELEPAT.p_flgs 130. #ifdef POLYSELF 131. #define Telepat ((HTelepat) || (u.umonnum PM_FLOATING_EYE)) 132. #else 133. #define Telepat (HTelepat) 134. #endif 135. 136. #define Fast u.upropsFAST.p_flgs 137. 138. #define HStun u.upropsSTUN.p_flgs 139. #ifdef POLYSELF 140. #define Stunned ((HStun) || u.usym S_BAT || u.usym S_STALKER) 141. #else 142. #define Stunned (HStun) 143. #endif 144. 145. #define HConfusion u.upropsCONFUSION.p_flgs 146. #define Confusion (HConfusion) 147. 148. #define Sick u.upropsSICK.p_flgs 149. #define Blinded u.upropsBLINDED.p_flgs 150. #define Blind (Blinded || Blindfolded) 151. #define Sleeping u.upropsSLEEPING.p_flgs 152. #define Wounded_legs u.upropsWOUNDED_LEGS.p_flgs 153. #define Stoned u.upropsSTONED.p_flgs 154. #define Strangled u.upropsSTRANGLED.p_flgs 155. #define Hallucination u.upropsHALLUC.p_flgs 156. #define Fumbling u.upropsFUMBLING.p_flgs 157. #define Jumping u.upropsJUMPING.p_flgs 158. #define Wwalking u.upropsWWALKING.p_flgs 159. #define Hunger u.upropsHUNGER.p_flgs 160. #define Glib u.upropsGLIB.p_flgs 161. #define Reflecting u.upropsREFLECTING.p_flgs 162. #define Lifesaved u.upropsLIFESAVED.p_flgs 163. #define Antimagic u.upropsANTIMAGIC.p_flgs 164. #define Displaced u.upropsDISPLACED.p_flgs 165. #define Clairvoyant u.upropsCLAIRVOYANT.p_flgs 166. 167. #endif /* YOUPROP_H /**/ youprop.h